import Vue from 'vue'
import App from './App.vue'
import router from './router'
import './plugins/element.js'
import './plugins/element-drag.js'
import './assets/css/global.css'
import TreeTable from 'vue-table-with-tree-grid'
//导入富文本编辑器
import VueQuillEditor from 'vue-quill-editor'
//导入富文本编辑器对应的样式
import 'quill/dist/quill.core.css' // import styles
import 'quill/dist/quill.snow.css' // for snow theme
import 'quill/dist/quill.bubble.css' // for bubble theme


//要在main.js入口文件中 导入js和css以及其他文件的本质原因 :
//为webpack打包 准备好路径 否则webpack 不知道要打包哪些文件

//共享axios实例
//这样在当前项目中 不管在new Vue() 还是在根组件 子组件 都可以通过vue实例 $http 获取axios来发送异步请求
//导入axios 并挂载到Vue原型上 供后面的对象使用
import axios from 'axios'
//设置基地址
axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/'
//设置请求拦截器 为请求添加Authorization 字段(token字符串)
axios.interceptors.request.use((config) => {
  //像请求报文头的中 添加字段  Authorization 将本地保存的token设置给它
  config.headers.Authorization=window.sessionStorage.getItem("token")
  //在最后必须return
  return config
})
Vue.prototype.$http = axios

//导入字体图标要在main.js入口文件中导入js和css以及其他文件的本质原因:要为webpack打包准备好路径否则webpack不知道要打包哪些文件
import './assets/fonts/iconfont.css'
import moment from 'moment'

Vue.config.productionTip = false


Vue.component ('tree-table',TreeTable)

//将富文本编辑器注册为全局可用的组件
Vue.use(VueQuillEditor)


Vue.filter('dateFormat' ,function(nowDate) {
  return moment(nowDate).format('YYYY-MM-DD hh:mm:ss')
})

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
